export const flowData = {
    edges: [
        {
            endPoint: { index: 0, x: 177, y: 144 },
            id: '2cRcTFcjSvA',
            source: '1Bh5pmj0001',
            sourceAnchor: 1,
            startPoint: { index: 0, x: 340, y: 87 },
            target: '1Bh5pmj0002',
            targetAnchor: 0,
        },
        {
            endPoint: { index: 0, x: 466, y: 145 },
            id: '2cReskb6m66',
            source: '1Bh5pmj0001',
            sourceAnchor: 1,
            startPoint: { index: 0, x: 340, y: 87 },
            target: '1Bh5pmj0003',
            targetAnchor: 0,
        },
        {
            endPoint: { index: 0, x: 413, y: 408 },
            id: '2cRfg8kpLbC',
            source: '1Bh5pmj0004',
            sourceAnchor: 2,
            startPoint: { index: 2, x: 236, y: 373 },
            target: '1Bh5pmj0005',
            targetAnchor: 0,
        },
        {
            endPoint: { index: 0, x: 331, y: 237 },
            id: '2LW9XBHj9z0',
            source: '1Bh5pmj0003',
            sourceAnchor: 1,
            startPoint: { index: 1, x: 466, y: 180 },
            target: '1Bh5pmj0006',
            targetAnchor: 0,
        },
        {
            endPoint: { index: 0, x: 206, y: 338 },
            id: '2LW9Y9p58Hs',
            source: '1Bh5pmj0006',
            sourceAnchor: 1,
            startPoint: { index: 1, x: 300, y: 272 },
            target: '1Bh5pmj0004',
            targetAnchor: 0,
        },
        {
            endPoint: { index: 1, x: 474, y: 408 },
            id: '2LW9YwA3SXi',
            source: '1Bh5pmj0006',
            sourceAnchor: 2,
            startPoint: { index: 2, x: 361, y: 272 },
            target: '1Bh5pmj0005',
            targetAnchor: 1,
        },
        {
            endPoint: { index: 0, x: 273, y: 521 },
            id: '2LWaaPfkM1S',
            source: '1Bh5pmj0005',
            sourceAnchor: 2,
            startPoint: { index: 2, x: 444, y: 443 },
            target: '1Bh5pmj0007',
            targetAnchor: 0,
        },
        {
            endPoint: { index: 0, x: 549, y: 522 },
            id: '2LWaq1SeQEa',
            source: '1Bh5pmj0005',
            sourceAnchor: 2,
            startPoint: { index: 2, x: 444, y: 443 },
            target: '1Bh5pmj0008',
            targetAnchor: 0,
        },
        {
            endPoint: { index: 0, x: 559, y: 631 },
            id: '2LWaqwekph7',
            source: '1Bh5pmj0008',
            sourceAnchor: 1,
            startPoint: { index: 1, x: 549, y: 557 },
            target: '1Bh5pmj0009',
            targetAnchor: 0,
        },
    ],
    nodes: [
        {
            busData: { name: 'select_dataset', subType: 'dataset', type: 'metadata' },
            formData: {},
            id: '1Bh5pmj0001',
            label: '聚类特征选择',
            x: 340,
            y: 70,
            type: 'running',
        },
        {
            busData: { name: 'correlation', subType: 'null', type: 'statistic_analysis' },
            formData: {},
            id: '1Bh5pmj0002',
            label: '特征相关性分析',
            x: 177,
            y: 162,
            type: 'fail',
        },
        {
            busData: { name: 'minmax_scaler_vector', subType: 'data_quantization', type: 'data_preprocess' },
            formData: { outputCol: 'features' },
            id: '1Bh5pmj0003',
            label: '特征归一向量化',
            x: 466,
            y: 163,
            type: 'success',
        },
        {
            busData: { name: 'kmeans', subType: 'clustering', type: 'algorithm_model' },
            formData: { vectorCol: 'features', k: 'auto' },
            id: '1Bh5pmj0004',
            label: 'KMeans聚类训练',
            x: 206,
            y: 356,
        },
        {
            busData: { name: 'prediction', subType: 'null', type: 'algorithm_model' },
            formData: { predictionCol: 'pred' },
            id: '1Bh5pmj0005',
            label: '聚类预测',
            x: 444,
            y: 426,
        },
        {
            busData: { name: 'data_split', subType: 'null', type: 'data_preprocess' },
            formData: { fraction: 0.5 },
            id: '1Bh5pmj0006',
            label: '数据拆分',
            x: 331,
            y: 255,
        },
        {
            busData: { name: 'eval_cluster', subType: 'evaluate', type: 'algorithm_model' },
            formData: { vectorCol: 'features', predictionCol: 'pred' },
            id: '1Bh5pmj0007',
            label: '聚类评估',
            x: 273,
            y: 539,
        },
        {
            busData: { name: 'group_rename', subType: 'finished', type: 'virtual' },
            formData: { groupCols: [], labelCol: 'pred', _dimensionName: '群组维度' },
            id: '1Bh5pmj0008',
            label: '群组命名',
            x: 549,
            y: 540,
        },
        {
            busData: { name: 'export_database', subType: 'database', type: 'export' },
            formData: { tableName: 'pia_clustering_1bh5pmjf001' },
            id: '1Bh5pmj0009',
            label: '生成数据集',
            x: 559,
            y: 649,
        },
        {
            busData: { name: 'export_database', subType: 'database', type: 'test' },
            formData: { tableName: 'pia_clustering_1bh5pmjf001' },
            id: 'test',
            label: 'test测试节点',
            x: 700,
            y: 400,
        },
    ],
};

export const componentList = [
    {
        description: '把数据中的缺失值补上。',
        inputs: [{ linkFrom: null, name: '输入' }],
        label: '缺失值填充',
        menus: null,
        outputs: [
            {
                linkTo: [
                    { type: 'export' },
                    { type: 'data_preprocess' },
                    { type: 'feature_engineering' },
                    { type: 'statistic_analysis' },
                    { subType: 'clustering', type: 'algorithm_model' },
                    { subType: 'binary_classification', type: 'algorithm_model' },
                    { subType: 'multi_classification', type: 'algorithm_model' },
                    { subType: 'regression', type: 'algorithm_model' },
                    { anchorIndex: [1], subType: null, type: 'algorithm_model', value: 'prediction' },
                    { type: 'timeseries' },
                    { type: 'text_analysis' },
                ],
                name: '输出',
            },
        ],
        report: null,
        subType: 'data_cleanout',
        type: 'data_preprocess',
        value: 'imputer',
    },
    {
        description: '随机采样是对数据进行随机抽样，每个样本都以相同的概率被抽到。',
        inputs: [{ linkFrom: null, name: '输入' }],
        label: '随机抽样',
        menus: null,
        outputs: [
            {
                linkTo: [
                    { type: 'export' },
                    { type: 'data_preprocess' },
                    { type: 'feature_engineering' },
                    { type: 'statistic_analysis' },
                    { subType: 'clustering', type: 'algorithm_model' },
                    { subType: 'binary_classification', type: 'algorithm_model' },
                    { subType: 'multi_classification', type: 'algorithm_model' },
                    { subType: 'regression', type: 'algorithm_model' },
                    { anchorIndex: [1], subType: null, type: 'algorithm_model', value: 'prediction' },
                    { type: 'timeseries' },
                    { type: 'text_analysis' },
                ],
                name: '输出',
            },
        ],
        report: null,
        subType: 'data_sample',
        type: 'data_preprocess',
        value: 'random_sample',
    },
    {
        description: '给定一个分组列，本算法按照分组列的不同值，将输入数据分成不同的组，每组中分别进行随机采样。',
        inputs: [{ linkFrom: null, name: '输入' }],
        label: '分层抽样',
        menus: null,
        outputs: [
            {
                linkTo: [
                    { type: 'export' },
                    { type: 'data_preprocess' },
                    { type: 'feature_engineering' },
                    { type: 'statistic_analysis' },
                    { subType: 'clustering', type: 'algorithm_model' },
                    { subType: 'binary_classification', type: 'algorithm_model' },
                    { subType: 'multi_classification', type: 'algorithm_model' },
                    { subType: 'regression', type: 'algorithm_model' },
                    { anchorIndex: [1], subType: null, type: 'algorithm_model', value: 'prediction' },
                    { type: 'timeseries' },
                    { type: 'text_analysis' },
                ],
                name: '输出',
            },
        ],
        report: null,
        subType: 'data_sample',
        type: 'data_preprocess',
        value: 'random_stratified_sample',
    },
    {
        description: '归一化是对数据进行归一的组件, 将数据归一到min和max之间。',
        inputs: [{ linkFrom: null, name: '输入' }],
        label: '归一化',
        menus: null,
        outputs: [
            {
                linkTo: [
                    { type: 'export' },
                    { type: 'data_preprocess' },
                    { type: 'feature_engineering' },
                    { type: 'statistic_analysis' },
                    { subType: 'clustering', type: 'algorithm_model' },
                    { subType: 'binary_classification', type: 'algorithm_model' },
                    { subType: 'multi_classification', type: 'algorithm_model' },
                    { subType: 'regression', type: 'algorithm_model' },
                    { anchorIndex: [1], subType: null, type: 'algorithm_model', value: 'prediction' },
                    { type: 'timeseries' },
                    { type: 'text_analysis' },
                ],
                name: '输出',
            },
        ],
        report: null,
        subType: 'data_quantization',
        type: 'data_preprocess',
        value: 'minmax_scaler',
    },
    {
        description: '将数据归一到min和max之间, 并转化为一列向量数据。',
        inputs: [{ linkFrom: null, name: '输入' }],
        label: '归一向量化',
        menus: null,
        outputs: [
            {
                linkTo: [
                    { type: 'export' },
                    { type: 'data_preprocess' },
                    { type: 'feature_engineering' },
                    { type: 'statistic_analysis' },
                    { subType: 'clustering', type: 'algorithm_model' },
                    { subType: 'binary_classification', type: 'algorithm_model' },
                    { subType: 'multi_classification', type: 'algorithm_model' },
                    { subType: 'regression', type: 'algorithm_model' },
                    { anchorIndex: [1], subType: null, type: 'algorithm_model', value: 'prediction' },
                    { type: 'timeseries' },
                    { type: 'text_analysis' },
                ],
                name: '输出',
            },
        ],
        report: null,
        subType: 'data_quantization',
        type: 'data_preprocess',
        value: 'minmax_scaler_vector',
    },
    {
        description: '标准化是对数据进行按正态化处理的组件。',
        inputs: [{ linkFrom: null, name: '输入' }],
        label: '标准化',
        menus: null,
        outputs: [
            {
                linkTo: [
                    { type: 'export' },
                    { type: 'data_preprocess' },
                    { type: 'feature_engineering' },
                    { type: 'statistic_analysis' },
                    { subType: 'clustering', type: 'algorithm_model' },
                    { subType: 'binary_classification', type: 'algorithm_model' },
                    { subType: 'multi_classification', type: 'algorithm_model' },
                    { subType: 'regression', type: 'algorithm_model' },
                    { anchorIndex: [1], subType: null, type: 'algorithm_model', value: 'prediction' },
                    { type: 'timeseries' },
                    { type: 'text_analysis' },
                ],
                name: '输出',
            },
        ],
        report: null,
        subType: 'data_quantization',
        type: 'data_preprocess',
        value: 'standard_scaler',
    },
    {
        description: '数据结构转换，将多列数据（可以是向量列也可以是数值列）转化为一列向量数据。',
        inputs: [{ linkFrom: null, name: '输入' }],
        label: '特征向量化',
        menus: null,
        outputs: [
            {
                linkTo: [
                    { type: 'export' },
                    { type: 'data_preprocess' },
                    { type: 'feature_engineering' },
                    { type: 'statistic_analysis' },
                    { subType: 'clustering', type: 'algorithm_model' },
                    { subType: 'binary_classification', type: 'algorithm_model' },
                    { subType: 'multi_classification', type: 'algorithm_model' },
                    { subType: 'regression', type: 'algorithm_model' },
                    { anchorIndex: [1], subType: null, type: 'algorithm_model', value: 'prediction' },
                    { type: 'timeseries' },
                    { type: 'text_analysis' },
                ],
                name: '输出',
            },
        ],
        report: null,
        subType: 'data_quantization',
        type: 'data_preprocess',
        value: 'vector_assembler',
    },
    {
        description: '对数据按照最大值和最小值进行标准化的组件, 将数据归一到-1和1之间。',
        inputs: [{ linkFrom: null, name: '输入' }],
        label: '绝对值最大标准化',
        menus: null,
        outputs: [
            {
                linkTo: [
                    { type: 'export' },
                    { type: 'data_preprocess' },
                    { type: 'feature_engineering' },
                    { type: 'statistic_analysis' },
                    { subType: 'clustering', type: 'algorithm_model' },
                    { subType: 'binary_classification', type: 'algorithm_model' },
                    { subType: 'multi_classification', type: 'algorithm_model' },
                    { subType: 'regression', type: 'algorithm_model' },
                    { anchorIndex: [1], subType: null, type: 'algorithm_model', value: 'prediction' },
                    { type: 'timeseries' },
                    { type: 'text_analysis' },
                ],
                name: '输出',
            },
        ],
        report: null,
        subType: 'data_quantization',
        type: 'data_preprocess',
        value: 'max_abs_scaler',
    },
    {
        description: '自定义SQL的组件；可以编辑sql脚本，支持的语义为Flink SQL语法。',
        inputs: [
            { linkFrom: null, name: '输入1' },
            { linkFrom: null, name: '输入2' },
            { linkFrom: null, name: '输入3' },
            { linkFrom: null, name: '输入4' },
        ],
        label: 'SQL脚本',
        menus: null,
        outputs: [
            {
                linkTo: [
                    { type: 'export' },
                    { type: 'data_preprocess' },
                    { type: 'feature_engineering' },
                    { type: 'statistic_analysis' },
                    { subType: 'clustering', type: 'algorithm_model' },
                    { subType: 'binary_classification', type: 'algorithm_model' },
                    { subType: 'multi_classification', type: 'algorithm_model' },
                    { subType: 'regression', type: 'algorithm_model' },
                    { anchorIndex: [1], subType: null, type: 'algorithm_model', value: 'prediction' },
                    { type: 'timeseries' },
                    { type: 'text_analysis' },
                ],
                name: '输出',
            },
        ],
        report: null,
        subType: null,
        type: 'data_preprocess',
        value: 'sql_script',
    },
    {
        description: '将数据集按比例拆分为两部分将数据集按比例拆分为两部分。',
        inputs: [{ linkFrom: null, name: '输入' }],
        label: '数据拆分',
        menus: null,
        outputs: [
            {
                linkTo: [
                    { type: 'export' },
                    { type: 'data_preprocess' },
                    { type: 'feature_engineering' },
                    { type: 'statistic_analysis' },
                    { subType: 'clustering', type: 'algorithm_model' },
                    { subType: 'binary_classification', type: 'algorithm_model' },
                    { subType: 'multi_classification', type: 'algorithm_model' },
                    { subType: 'regression', type: 'algorithm_model' },
                ],
                name: '输出表1',
            },
            {
                linkTo: [
                    { type: 'export' },
                    { type: 'data_preprocess' },
                    { type: 'feature_engineering' },
                    { type: 'statistic_analysis' },
                    { subType: 'clustering', type: 'algorithm_model' },
                    { subType: 'binary_classification', type: 'algorithm_model' },
                    { subType: 'multi_classification', type: 'algorithm_model' },
                    { subType: 'regression', type: 'algorithm_model' },
                    { anchorIndex: [1], subType: null, type: 'algorithm_model', value: 'prediction' },
                    { type: 'timeseries' },
                    { type: 'text_analysis' },
                ],
                name: '输出表2',
            },
        ],
        report: null,
        subType: null,
        type: 'data_preprocess',
        value: 'data_split',
    },
    {
        description:
            '特征离散可以计算选定列的分位点，然后使用这些分位点进行离散化。 生成选中列对应的q-quantile，其中可以所有列指定一个，也可以每一列对应一个。',
        inputs: [{ linkFrom: null, name: '输入' }],
        label: '特征离散',
        menus: null,
        outputs: [
            {
                linkTo: [
                    { type: 'export' },
                    { type: 'data_preprocess' },
                    { type: 'feature_engineering' },
                    { type: 'statistic_analysis' },
                    { subType: 'clustering', type: 'algorithm_model' },
                    { subType: 'binary_classification', type: 'algorithm_model' },
                    { subType: 'multi_classification', type: 'algorithm_model' },
                    { subType: 'regression', type: 'algorithm_model' },
                    { anchorIndex: [1], subType: null, type: 'algorithm_model', value: 'prediction' },
                    { type: 'timeseries' },
                    { type: 'text_analysis' },
                ],
                name: '输出',
            },
        ],
        report: null,
        subType: 'feature_transform',
        type: 'feature_engineering',
        value: 'quantile_discretizer',
    },
    {
        description:
            '主成分分析，是考察多个变量间相关性一种多元统计方法，研究如何通过少数几个主成分来揭示多个变量间的内部结构，即从原始变量中导出少数几个主成分，使它们尽可能多地保留原始变量的信息，且彼此间互不相关，作为新的综合指标。',
        inputs: [{ linkFrom: null, name: '输入' }],
        label: '主成分分析(PCA)',
        menus: null,
        outputs: [
            {
                linkTo: [
                    { type: 'export' },
                    { type: 'data_preprocess' },
                    { type: 'feature_engineering' },
                    { type: 'statistic_analysis' },
                    { subType: 'clustering', type: 'algorithm_model' },
                    { subType: 'binary_classification', type: 'algorithm_model' },
                    { subType: 'multi_classification', type: 'algorithm_model' },
                    { subType: 'regression', type: 'algorithm_model' },
                    { anchorIndex: [1], subType: null, type: 'algorithm_model', value: 'prediction' },
                    { type: 'timeseries' },
                    { type: 'text_analysis' },
                ],
                name: '输出',
            },
        ],
        report: null,
        subType: 'feature_transform',
        type: 'feature_engineering',
        value: 'pca',
    },
    {
        description:
            'one-hot编码，也称独热编码，对于每一个特征，如果它有m个可能值，那么经过 独热编码后，就变成了m个二元特征。并且，这些特征互斥，每次只有一个激活。 因此，数据会变成稀疏的，输出结果也是kv的稀疏结构。',
        inputs: [{ linkFrom: null, name: '输入' }],
        label: 'OneHot编码',
        menus: null,
        outputs: [
            {
                linkTo: [
                    { type: 'export' },
                    { type: 'data_preprocess' },
                    { type: 'feature_engineering' },
                    { type: 'statistic_analysis' },
                    { subType: 'clustering', type: 'algorithm_model' },
                    { subType: 'binary_classification', type: 'algorithm_model' },
                    { subType: 'multi_classification', type: 'algorithm_model' },
                    { subType: 'regression', type: 'algorithm_model' },
                    { anchorIndex: [1], subType: null, type: 'algorithm_model', value: 'prediction' },
                    { type: 'timeseries' },
                    { type: 'text_analysis' },
                ],
                name: '输出',
            },
        ],
        report: null,
        subType: 'feature_select',
        type: 'feature_engineering',
        value: 'onehot_encoder',
    },
    {
        description: '将多个特征组合成一个特征向量。',
        inputs: [{ linkFrom: null, name: '输入' }],
        label: '特征哈希',
        menus: null,
        outputs: [
            {
                linkTo: [
                    { type: 'export' },
                    { type: 'data_preprocess' },
                    { type: 'feature_engineering' },
                    { type: 'statistic_analysis' },
                    { subType: 'clustering', type: 'algorithm_model' },
                    { subType: 'binary_classification', type: 'algorithm_model' },
                    { subType: 'multi_classification', type: 'algorithm_model' },
                    { subType: 'regression', type: 'algorithm_model' },
                    { anchorIndex: [1], subType: null, type: 'algorithm_model', value: 'prediction' },
                    { type: 'timeseries' },
                    { type: 'text_analysis' },
                ],
                name: '输出',
            },
        ],
        report: null,
        subType: 'feature_select',
        type: 'feature_engineering',
        value: 'feature_hash',
    },
    {
        description: '给定切分点，将连续变量分桶，可支持单列输入或多列输入，对应需要给出单列切分点或者多列切分点。',
        inputs: [{ linkFrom: null, name: '输入' }],
        label: '特征分桶',
        menus: null,
        outputs: [
            {
                linkTo: [
                    { type: 'export' },
                    { type: 'data_preprocess' },
                    { type: 'feature_engineering' },
                    { type: 'statistic_analysis' },
                    { subType: 'clustering', type: 'algorithm_model' },
                    { subType: 'binary_classification', type: 'algorithm_model' },
                    { subType: 'multi_classification', type: 'algorithm_model' },
                    { subType: 'regression', type: 'algorithm_model' },
                    { anchorIndex: [1], subType: null, type: 'algorithm_model', value: 'prediction' },
                    { type: 'timeseries' },
                    { type: 'text_analysis' },
                ],
                name: '输出',
            },
        ],
        report: null,
        subType: 'feature_select',
        type: 'feature_engineering',
        value: 'feature_bucket',
    },
    {
        description: '给定一个阈值，将连续变量二值化。',
        inputs: [{ linkFrom: null, name: '输入' }],
        label: '二值化',
        menus: null,
        outputs: [
            {
                linkTo: [
                    { type: 'export' },
                    { type: 'data_preprocess' },
                    { type: 'feature_engineering' },
                    { type: 'statistic_analysis' },
                    { subType: 'clustering', type: 'algorithm_model' },
                    { subType: 'binary_classification', type: 'algorithm_model' },
                    { subType: 'multi_classification', type: 'algorithm_model' },
                    { subType: 'regression', type: 'algorithm_model' },
                    { anchorIndex: [1], subType: null, type: 'algorithm_model', value: 'prediction' },
                    { type: 'timeseries' },
                    { type: 'text_analysis' },
                ],
                name: '输出',
            },
        ],
        report: null,
        subType: 'feature_select',
        type: 'feature_engineering',
        value: 'binarize',
    },
    {
        description: '二分k均值算法是k-means聚类算法的一个变体，主要是为了改进k-means算法随机选择初始质心的随机性造成聚类结果不确定性的问题。',
        inputs: [{ linkFrom: null, name: '训练数据输入' }],
        label: '二分k均值',
        menus: [
            { name: '查看评估报告', key: 'report' },
            { name: '模型选项', childs: [{ name: '保存模型', key: 'saveModel' }], key: 'modelItem' },
        ],
        outputs: [
            { linkTo: [{ type: 'export' }], name: '自动评估报告输出' },
            { linkTo: [{ type: 'export' }, { anchorIndex: [0], subType: null, type: 'algorithm_model', value: 'prediction' }], name: '模型结果输出' },
        ],
        report: null,
        subType: 'clustering',
        type: 'algorithm_model',
        value: 'bisecting_kmeans',
    },
    {
        description:
            'KMeans 是一个经典的聚类算法。基本思想是：以空间中k个点为中心进行聚类，对最靠近他们的对象归类。通过迭代的方法，逐次更新各聚类中心的值，直至得到最好的聚类结果。',
        inputs: [{ linkFrom: null, name: '训练数据输入' }],
        label: 'KMeans',
        menus: [{ name: '查看评估报告', key: 'report' }],
        outputs: [
            { linkTo: [{ type: 'export' }], name: '自动评估报告输出' },
            { linkTo: [{ type: 'export' }, { anchorIndex: [0], subType: null, type: 'algorithm_model', value: 'prediction' }], name: '模型结果输出' },
        ],
        report: null,
        subType: 'clustering',
        type: 'algorithm_model',
        value: 'kmeans',
    },
    {
        description:
            'LDA是一种文档主题生成模型。LDA是一种非监督机器学习技术，可以用来识别大规模文档集（document collection）或语料库（corpus）中潜藏的主题信息。它采用了词袋（bag of words）的方法，这种方法将每一篇文档视为一个词频向量，从而将文本信息转化为了易于建模的数字信息。但是词袋方法没有考虑词与词之间的顺序，这简化了问题的复杂性，同时也为模型的改进提供了契机。每一篇文档代表了一些主题所构成的一个概率分布，而每一个主题又代表了很多单词所构成的一个概率分布。',
        inputs: [{ linkFrom: null, name: '训练数据输入' }],
        label: 'LDA',
        menus: [{ name: '模型选项', childs: [{ name: '保存模型', key: 'saveModel' }], key: 'modelItem' }],
        outputs: [
            { linkTo: [{ type: 'export' }], name: '单词主题概率分布输出' },
            { linkTo: [{ type: 'export' }, { anchorIndex: [0], subType: null, type: 'algorithm_model', value: 'prediction' }], name: '模型结果输出' },
        ],
        report: null,
        subType: 'clustering',
        type: 'algorithm_model',
        value: 'lda',
    },
    {
        description: '逻辑回归算法，二分类算法。',
        inputs: [{ linkFrom: null, name: '训练数据输入' }],
        label: '逻辑回归二分类',
        menus: [{ name: '模型选项', childs: [{ name: '保存模型', key: 'saveModel' }], key: 'modelItem' }],
        outputs: [{ linkTo: [{ type: 'export' }, { anchorIndex: [0], subType: null, type: 'algorithm_model', value: 'prediction' }], name: '模型结果输出' }],
        report: null,
        subType: 'binary_classification',
        type: 'algorithm_model',
        value: 'logistic_regression_binary_classification',
    },
    {
        description: '随机森林是一种常用的树模型，由于bagging的过程，可以避免过拟合，支持稠密数据格式，支持带样本权重的训练。',
        inputs: [{ linkFrom: null, name: '训练数据输入' }],
        label: '随机森林二分类',
        menus: [{ name: '模型选项', childs: [{ name: '保存模型', key: 'saveModel' }], key: 'modelItem' }],
        outputs: [{ linkTo: [{ type: 'export' }, { anchorIndex: [0], subType: null, type: 'algorithm_model', value: 'prediction' }], name: '模型结果输出' }],
        report: null,
        subType: 'binary_classification',
        type: 'algorithm_model',
        value: 'random_forest_binary_classifier',
    },
    {
        description:
            'GBDT(Gradient Boosting Decision Trees)二分类，是经典的基于boosting的有监督学习模型，可以用来解决二分类问题，支持稀疏、稠密两种数据格式，支持数据采样和特征采样。',
        inputs: [{ linkFrom: null, name: '训练数据输入' }],
        label: 'GBDT二分类',
        menus: [{ name: '模型选项', childs: [{ name: '保存模型', key: 'saveModel' }], key: 'modelItem' }],
        outputs: [{ linkTo: [{ type: 'export' }, { anchorIndex: [0], subType: null, type: 'algorithm_model', value: 'prediction' }], name: '模型结果输出' }],
        report: null,
        subType: 'binary_classification',
        type: 'algorithm_model',
        value: 'gbdt_binary_classification',
    },
    {
        description: '支持向量机是一个二分类算法，支持向量机组件支持稀疏、稠密两种数据格式，支持带样本权重的训练。',
        inputs: [{ linkFrom: null, name: '训练数据输入' }],
        label: '支持向量机',
        menus: [
            { name: '查看评估报告', key: 'report' },
            { name: '模型选项', childs: [{ name: '保存模型', key: 'saveModel' }], key: 'modelItem' },
        ],
        outputs: [{ linkTo: [{ type: 'export' }, { anchorIndex: [0], subType: null, type: 'algorithm_model', value: 'prediction' }], name: '模型结果输出' }],
        report: null,
        subType: 'binary_classification',
        type: 'algorithm_model',
        value: 'linear_svm_binary_classification',
    },
    {
        description: '随机森林是一种常用的树模型，由于bagging的过程，可以避免过拟合，支持稠密数据格式，支持带样本权重的训练。',
        inputs: [{ linkFrom: null, name: '训练数据输入' }],
        label: '随机森林',
        menus: [{ name: '模型选项', childs: [{ name: '保存模型', key: 'saveModel' }], key: 'modelItem' }],
        outputs: [{ linkTo: [{ type: 'export' }, { anchorIndex: [0], subType: null, type: 'algorithm_model', value: 'prediction' }], name: '模型结果输出' }],
        report: null,
        subType: 'multi_classification',
        type: 'algorithm_model',
        value: 'random_forest_multi_classifier',
    },
    {
        description: '决策树支持多种树模型：id3，cart，c4.5，支持带样本权重的训练。',
        inputs: [{ linkFrom: null, name: '训练数据输入' }],
        label: '决策树',
        menus: [
            { name: '查看评估报告', key: 'report' },
            { name: '模型选项', childs: [{ name: '保存模型', key: 'saveModel' }], key: 'modelItem' },
        ],
        outputs: [{ linkTo: [{ type: 'export' }, { anchorIndex: [0], subType: null, type: 'algorithm_model', value: 'prediction' }], name: '模型结果输出' }],
        report: null,
        subType: 'multi_classification',
        type: 'algorithm_model',
        value: 'decision_tree_multi_classification',
    },
    {
        description: '朴素贝叶斯文本分类是一个多分类算法，朴素贝叶斯文本分类组件支持稀疏、稠密两种数据格式，朴素贝叶斯文本分类组件支持带样本权重的训练。',
        inputs: [{ linkFrom: null, name: '训练数据输入' }],
        label: '朴素贝叶斯',
        menus: [
            { name: '查看评估报告', key: 'report' },
            { name: '模型选项', childs: [{ name: '保存模型', key: 'saveModel' }], key: 'modelItem' },
        ],
        outputs: [{ linkTo: [{ type: 'export' }, { anchorIndex: [0], subType: null, type: 'algorithm_model', value: 'prediction' }], name: '模型结果输出' }],
        report: null,
        subType: 'multi_classification',
        type: 'algorithm_model',
        value: 'naive_bayes_multi_classification',
    },
    {
        description: '多层感知机多分类模型。',
        inputs: [{ linkFrom: null, name: '训练数据输入' }],
        label: '多层感知机',
        menus: [
            { name: '查看评估报告', key: 'report' },
            { name: '模型选项', childs: [{ name: '保存模型', key: 'saveModel' }], key: 'modelItem' },
        ],
        outputs: [{ linkTo: [{ type: 'export' }, { anchorIndex: [0], subType: null, type: 'algorithm_model', value: 'prediction' }], name: '模型结果输出' }],
        report: null,
        subType: 'multi_classification',
        type: 'algorithm_model',
        value: 'multilayer_perceptron_multi_classification',
    },
    {
        description: 'softmax是一个多分类算法，组件支持稀疏、稠密两种数据格式，支持带样本权重的训练。',
        inputs: [{ linkFrom: null, name: '训练数据输入' }],
        label: 'softmax多分类',
        menus: [
            { name: '查看评估报告', key: 'report' },
            { name: '模型选项', childs: [{ name: '保存模型', key: 'saveModel' }], key: 'modelItem' },
        ],
        outputs: [{ linkTo: [{ type: 'export' }, { anchorIndex: [0], subType: null, type: 'algorithm_model', value: 'prediction' }], name: '模型结果输出' }],
        report: null,
        subType: 'multi_classification',
        type: 'algorithm_model',
        value: 'soft_max_multi_classification',
    },
    {
        description:
            'GBDT(Gradient Boosting Decision Trees)回归，是经典的基于boosting的有监督学习模型，可以用来解决回归问题，支持稀疏、稠密两种数据格式，支持数据采样和特征采样。',
        inputs: [{ linkFrom: null, name: '训练数据输入' }],
        label: 'GBDT回归',
        menus: [{ name: '模型选项', childs: [{ name: '保存模型', key: 'saveModel' }], key: 'modelItem' }],
        outputs: [{ linkTo: [{ type: 'export' }, { anchorIndex: [0], subType: null, type: 'algorithm_model', value: 'prediction' }], name: '模型结果输出' }],
        report: null,
        subType: 'regression',
        type: 'algorithm_model',
        value: 'gbdt_regression',
    },
    {
        description: '线性回归是一个回归算法，支持稀疏、稠密两种数据格式，支持带样本权重的训练。',
        inputs: [{ linkFrom: null, name: '训练数据输入' }],
        label: '线性回归',
        menus: [{ name: '模型选项', childs: [{ name: '保存模型', key: 'saveModel' }], key: 'modelItem' }],
        outputs: [{ linkTo: [{ type: 'export' }, { anchorIndex: [0], subType: null, type: 'algorithm_model', value: 'prediction' }], name: '模型结果输出' }],
        report: null,
        subType: 'regression',
        type: 'algorithm_model',
        value: 'linear_regression',
    },
    {
        description: '随机森林是一种常用的树模型，由于bagging的过程，可以避免过拟合，支持稠密数据格式，支持带样本权重的训练。',
        inputs: [{ linkFrom: null, name: '训练数据输入' }],
        label: '随机森林回归',
        menus: [{ name: '模型选项', childs: [{ name: '保存模型', key: 'saveModel' }], key: 'modelItem' }],
        outputs: [{ linkTo: [{ type: 'export' }, { anchorIndex: [0], subType: null, type: 'algorithm_model', value: 'prediction' }], name: '模型结果输出' }],
        report: null,
        subType: 'regression',
        type: 'algorithm_model',
        value: 'random_forest_regression',
    },
    {
        description: '保序回归在观念上是寻找一组非递减的片段连续线性函数（piecewise linear continuous functions），即保序函数，使其与样本尽可能的接近。',
        inputs: [{ linkFrom: null, name: '训练数据输入' }],
        label: '保序回归',
        menus: [
            { name: '查看评估报告', key: 'report' },
            { name: '模型选项', childs: [{ name: '保存模型', key: 'saveModel' }], key: 'modelItem' },
        ],
        outputs: [{ linkTo: [{ type: 'export' }, { anchorIndex: [0], subType: null, type: 'algorithm_model', value: 'prediction' }], name: '模型结果输出' }],
        report: null,
        subType: 'regression',
        type: 'algorithm_model',
        value: 'isotonic_regression',
    },
    {
        description: 'Ridge回归是一个回归算法，Ridge回归组件支持稀疏、稠密两种数据格式，Ridge回归组件支持带样本权重的训练。',
        inputs: [{ linkFrom: null, name: '训练数据输入' }],
        label: '岭回归',
        menus: [
            { name: '查看评估报告', key: 'report' },
            { name: '模型选项', childs: [{ name: '保存模型', key: 'saveModel' }], key: 'modelItem' },
        ],
        outputs: [{ linkTo: [{ type: 'export' }, { anchorIndex: [0], subType: null, type: 'algorithm_model', value: 'prediction' }], name: '模型结果输出' }],
        report: null,
        subType: 'regression',
        type: 'algorithm_model',
        value: 'ridge_regression',
    },
    {
        description: '聚类评估是对聚类算法的预测结果进行效果评估，支持轮廓系数（SC），SSE曲线。',
        inputs: [{ linkFrom: null, name: '预测结果输入' }],
        label: '聚类评估',
        menus: [{ name: '查看评估报告', key: 'report' }],
        outputs: [{ linkTo: [{ type: 'export' }], name: '输出' }],
        report: null,
        subType: 'evaluate',
        type: 'algorithm_model',
        value: 'eval_cluster',
    },
    {
        description: '二分类评估是对二分类算法的预测结果进行效果评估。支持Roc曲线，LiftChart曲线，Recall-Precision曲线绘制。',
        inputs: [{ linkFrom: null, name: '预测结果输入' }],
        label: '二分类评估',
        menus: [{ name: '查看评估报告', key: 'report' }],
        outputs: [{ linkTo: [{ type: 'export' }], name: '输出' }],
        report: null,
        subType: 'evaluate',
        type: 'algorithm_model',
        value: 'eval_binary_class',
    },
    {
        description: '多分类评估是对多分类算法的预测结果进行效果评估。给出Precision、Recall、F-Measure、Sensitivity、Accuracy、Specificity和Kappa。',
        inputs: [{ linkFrom: null, name: '预测结果输入' }],
        label: '多分类评估',
        menus: null,
        outputs: [{ linkTo: [{ type: 'export' }], name: '输出' }],
        report: null,
        subType: 'evaluate',
        type: 'algorithm_model',
        value: 'eval_multi_class',
    },
    {
        description:
            '回归评估是对回归算法的预测结果进行效果评估。支持均方误差(MSE)、均方根误差(RMSE)、绝对误差(SAE/SAD)、平均绝对误差(MAE/MAD)、平均绝对百分误差(MAPE)等评估指标。',
        inputs: [{ linkFrom: null, name: '预测结果输入' }],
        label: '回归评估',
        menus: null,
        outputs: [{ linkTo: [{ type: 'export' }], name: '输出' }],
        report: null,
        subType: 'evaluate',
        type: 'algorithm_model',
        value: 'eval_regression',
    },
    {
        description: '预测组件是专门用于模型预测的组件，两个输入：训练模型和预测数据；输出为预测结果；传统的数据挖掘算法一般都采用该组件进行预测操作。',
        inputs: [
            { linkFrom: null, name: '模型结果输入' },
            { linkFrom: null, name: '预测数据输入' },
        ],
        label: '预测',
        menus: null,
        outputs: [
            {
                linkTo: [
                    { type: 'export' },
                    { type: 'data_preprocess' },
                    { type: 'feature_engineering' },
                    { type: 'statistic_analysis' },
                    { subType: 'evaluate', type: 'algorithm_model', value: 'eval_cluster' },
                    { subType: 'evaluate', type: 'algorithm_model', value: 'eval_binary_class' },
                    { subType: 'evaluate', type: 'algorithm_model', value: 'eval_multi_class' },
                    { subType: 'evaluate', type: 'algorithm_model', value: 'eval_regression' },
                    { type: 'timeseries' },
                    { type: 'text_analysis' },
                ],
                name: '输出',
            },
        ],
        report: null,
        subType: null,
        type: 'algorithm_model',
        value: 'prediction',
    },
    {
        description:
            'ARIMA模型（英语：Autoregressive Integrated Moving Average model），差分整合移动平均自回归模型，又称整合移动平均自回归模型（移动也可称作滑动），是时间序列预测分析方法之一。ARIMA(p，d，q)中，AR是“自回归”，p为自回归项数；MA为“滑动平均”，q为滑动平均项数，d为使之成为平稳序列所做的差分次数（阶数）。“差分”一词虽未出现在ARIMA的英文名称中，却是关键步骤。',
        inputs: [{ linkFrom: null, name: '输入' }],
        label: 'Arima',
        menus: null,
        outputs: [{ linkTo: [{ type: 'export' }, { type: 'statistic_analysis' }], name: '预测输出' }],
        report: null,
        subType: null,
        type: 'timeseries',
        value: 'arima',
    },
    {
        description: '对指定列对应的文章内容进行分词，分词后的各个词语间以空格作为分隔符。用户自定义分词 从参数列表中输入。',
        inputs: [{ linkFrom: null, name: '输入' }],
        label: 'Split Word',
        menus: null,
        outputs: [
            {
                linkTo: [
                    { type: 'export' },
                    { type: 'data_preprocess' },
                    { type: 'feature_engineering' },
                    { type: 'statistic_analysis' },
                    { subType: 'clustering', type: 'algorithm_model' },
                    { subType: 'binary_classification', type: 'algorithm_model' },
                    { subType: 'multi_classification', type: 'algorithm_model' },
                    { subType: 'regression', type: 'algorithm_model' },
                    { anchorIndex: [1], subType: null, type: 'algorithm_model', value: 'prediction' },
                    { type: 'timeseries' },
                    { type: 'text_analysis' },
                ],
                name: '输出',
            },
        ],
        report: null,
        subType: null,
        type: 'text_analysis',
        value: 'split_word',
    },
    {
        description: '停用词过滤，是文本分析中一个预处理方法。它的功能是过滤分词结果中的噪声（例如：的、是、啊等）。',
        inputs: [{ linkFrom: null, name: '输入' }],
        label: '停用词过滤',
        menus: null,
        outputs: [
            {
                linkTo: [
                    { type: 'export' },
                    { type: 'data_preprocess' },
                    { type: 'feature_engineering' },
                    { type: 'statistic_analysis' },
                    { subType: 'clustering', type: 'algorithm_model' },
                    { subType: 'binary_classification', type: 'algorithm_model' },
                    { subType: 'multi_classification', type: 'algorithm_model' },
                    { subType: 'regression', type: 'algorithm_model' },
                    { anchorIndex: [1], subType: null, type: 'algorithm_model', value: 'prediction' },
                    { type: 'timeseries' },
                    { type: 'text_analysis' },
                ],
                name: '输出',
            },
        ],
        report: null,
        subType: null,
        type: 'text_analysis',
        value: 'stop_words_remover',
    },
    {
        description:
            'Word2Vec是Google在2013年开源的一个将词表转为向量的算法，其利用神经网络，可以通过训练，将词映射到K维度空间向量，甚至对于表示词的向量进行操作还能和语义相对应，由于其简单和高效引起了很多人的关注。',
        inputs: [{ linkFrom: null, name: '输入' }],
        label: 'Word2Vec',
        menus: null,
        outputs: [
            {
                linkTo: [
                    { type: 'export' },
                    { type: 'data_preprocess' },
                    { type: 'feature_engineering' },
                    { type: 'statistic_analysis' },
                    { subType: 'clustering', type: 'algorithm_model' },
                    { subType: 'binary_classification', type: 'algorithm_model' },
                    { subType: 'multi_classification', type: 'algorithm_model' },
                    { subType: 'regression', type: 'algorithm_model' },
                    { anchorIndex: [1], subType: null, type: 'algorithm_model', value: 'prediction' },
                    { type: 'timeseries' },
                    { type: 'text_analysis' },
                ],
                name: '输出',
            },
        ],
        report: null,
        subType: null,
        type: 'text_analysis',
        value: 'word_2_vec',
    },
    {
        description: '根据分词后的文本统计词的TF/IDF信息，将文本转化为稀疏的向量。',
        inputs: [{ linkFrom: null, name: '输入' }],
        label: '文本特征生成',
        menus: null,
        outputs: [
            {
                linkTo: [
                    { type: 'export' },
                    { type: 'data_preprocess' },
                    { type: 'feature_engineering' },
                    { type: 'statistic_analysis' },
                    { subType: 'clustering', type: 'algorithm_model' },
                    { subType: 'binary_classification', type: 'algorithm_model' },
                    { subType: 'multi_classification', type: 'algorithm_model' },
                    { subType: 'regression', type: 'algorithm_model' },
                    { anchorIndex: [1], subType: null, type: 'algorithm_model', value: 'prediction' },
                    { type: 'timeseries' },
                    { type: 'text_analysis' },
                ],
                name: '输出',
            },
        ],
        report: null,
        subType: null,
        type: 'text_analysis',
        value: 'doccount_vector',
    },
    {
        description: '根据分词后的文本统计词的IDF信息，将文本转化为稀疏的向量，与【文本特征生成】的区别在于它是统计文本哈希后的词频。',
        inputs: [{ linkFrom: null, name: '输入' }],
        label: '文本特征哈希生成',
        menus: null,
        outputs: [
            {
                linkTo: [
                    { type: 'export' },
                    { type: 'data_preprocess' },
                    { type: 'feature_engineering' },
                    { type: 'statistic_analysis' },
                    { subType: 'clustering', type: 'algorithm_model' },
                    { subType: 'binary_classification', type: 'algorithm_model' },
                    { subType: 'multi_classification', type: 'algorithm_model' },
                    { subType: 'regression', type: 'algorithm_model' },
                    { anchorIndex: [1], subType: null, type: 'algorithm_model', value: 'prediction' },
                    { type: 'timeseries' },
                    { type: 'text_analysis' },
                ],
                name: '输出',
            },
        ],
        report: null,
        subType: null,
        type: 'text_analysis',
        value: 'dochashcount_vector',
    },
    {
        description: '全表统计用来计算整表的统计量，包含count, sum, variance等。',
        inputs: [{ linkFrom: null, name: '输入' }],
        label: '全表统计',
        menus: null,
        outputs: [{ linkTo: [{ type: 'export' }], name: '全表统计输出' }],
        report: null,
        subType: null,
        type: 'statistic_analysis',
        value: 'summarizer',
    },
    {
        description:
            '相关系数算法用于计算一个矩阵中每一列之间的相关系数，范围在[-1,1]之间。计算的时候，count数按两列间同时非空的元素个数计算，两两列之间可能不同。',
        inputs: [{ linkFrom: null, name: '输入' }],
        label: '相关系数矩阵',
        menus: [{ name: '查看分析报告', key: 'report' }],
        outputs: [{ linkTo: [{ type: 'export' }], name: '相关系数输出' }],
        report: null,
        subType: null,
        type: 'statistic_analysis',
        value: 'correlation',
    },
    {
        description:
            '直方图(Histogram)，又称质量分布图，是一种统计报告图，由一系列高度不等的纵向条纹或线段表示数据分布的情况。 一般用横轴表示数据类型，纵轴表示分布情况。',
        inputs: [{ linkFrom: null, name: '输入' }],
        label: '直方图',
        menus: [{ name: '查看分析报告', key: 'report' }],
        outputs: [
            { linkTo: [{ type: 'export' }], name: '直方图输出' },
            { linkTo: [{ type: 'export' }], name: '全表统计输出' },
        ],
        report: null,
        subType: null,
        type: 'statistic_analysis',
        value: 'histogram',
    },
    {
        description: '箱形图（Box-plot）又称为盒须图、盒式图或箱线图，是一种用作显示一组数据分散情况资料的统计图。因形状如箱子而得名。',
        inputs: [{ linkFrom: null, name: '输入' }],
        label: '箱线图',
        menus: [{ name: '查看分析报告', key: 'report' }],
        outputs: [{ linkTo: [{ type: 'export' }], name: '箱线图输出' }],
        report: null,
        subType: null,
        type: 'statistic_analysis',
        value: 'boxplot',
    },
    {
        description:
            '散点图是指在回归分析中，数据点在直角坐标系平面上的分布图，散点图表示因变量随自变量而变化的大致趋势，据此可以选择合适的函数对数据点进行拟合。',
        inputs: [{ linkFrom: null, name: '输入' }],
        label: '散点图',
        menus: [{ name: '查看分析报告', key: 'report' }],
        outputs: [
            { linkTo: [{ type: 'export' }], name: '散点图输出' },
            { linkTo: [{ type: 'export' }], name: '全表统计输出' },
        ],
        report: null,
        subType: null,
        type: 'statistic_analysis',
        value: 'scatterplot',
    },
    {
        description:
            '折线图是排列在工作表的列或行中的数据可以绘制到折线图中。折线图可以显示随时间（根据常用比例设置）而变化的连续数据，因此非常适用于显示在相等时间间隔下数据的趋势。',
        inputs: [{ linkFrom: null, name: '输入' }],
        label: '折线图',
        menus: [{ name: '查看分析报告', key: 'report' }],
        outputs: [
            { linkTo: [{ type: 'export' }], name: '折线图输出' },
            { linkTo: [{ type: 'export' }], name: '全表统计输出' },
        ],
        report: null,
        subType: null,
        type: 'statistic_analysis',
        value: 'linechart',
    },
    {
        description: '计算选择列的百分位。',
        inputs: [{ linkFrom: null, name: '输入' }],
        label: '百分位',
        menus: null,
        outputs: [{ linkTo: [{ type: 'export' }], name: '百分位输出' }],
        report: null,
        subType: null,
        type: 'statistic_analysis',
        value: 'percentile',
    },
    {
        description: null,
        inputs: [{ linkFrom: null, name: '输入' }],
        label: '选择数据集',
        menus: null,
        outputs: [{ linkTo: null, name: '输出' }],
        report: null,
        subType: 'dataset',
        type: 'metadata',
        value: 'select_dataset',
    },
    {
        description: null,
        inputs: [{ linkFrom: null, name: '输入' }],
        label: '生成数据集',
        menus: [{ name: '查看数据集', key: 'view_dataset' }],
        outputs: [{ linkTo: null, name: '输出' }],
        report: null,
        subType: 'database',
        type: 'export',
        value: 'export_database',
    },
    {
        description: null,
        inputs: [{ linkFrom: null, name: '输入' }],
        label: '群组命名',
        menus: [{ name: '查看分析报告', key: 'report' }],
        outputs: [
            { linkTo: [{ type: 'export' }], name: '特征数据' },
            { linkTo: [{ type: 'export' }], name: '全表数据' },
        ],
        report: null,
        subType: 'finished',
        type: 'virtual',
        value: 'group_rename',
    },
];
